package com.question.business.org.model.ao;

import com.question.common.annotation.DictValid;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * 机构新增参数
 *
 * @author star
 * @since 2023-09-14
 */
@Data
public class OrgAddAO {

    /**
     * 机构名称
     */
    @NotBlank(message = "机构名称不能为空")
    @Size(max = 50, message = "机构名称最长不能超过50位")
    private String orgName;

    /**
     * 上级机构ID
     */
    @Size(max = 20, message = "上级机构ID最长不能超过20位")
    private String parentId;

    /**
     * 省
     */
    private String province;

    /**
     * 市
     */
    private String city;

    /**
     * 区
     */
    private String district;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 启用状态(1:启用2:停用)
     */
    @DictValid(type = "enabled", message = "启用状态不存在")
    @NotNull(message = "启用状态不能为空")
    private Integer enabled;

    /**
     * 显示顺序
     */
    private Integer orgOrder;

    /**
     * 关联部门
     */
    private List<@NotBlank(message = "部门ID不能为空") @Size(max = 20, message = "部门ID最长不能超过20位") String> deptIds;

    /**
     * 关联用户
     */
    private List<@NotBlank(message = "用户ID不能为空") @Size(max = 20, message = "用户ID最长不能超过20位") String> userIds;

}